var modeProxy = (function () {
    var _initEvent = function (that, config) {
        $(document).delegate( config.id,'click', function () {
            _getProxy(that);
        });
    };
    var _getProxy = function (that) {
        var Flower = function () {

            },
            handsome = {
                sendFlower:function(target){
                    var flower=new Flower();
                    target.receiveFlower(flower);
                }
            },
            agent = {
                receiveFlower:function (flower) {
                    lover.listenerGoodMood(flower);
                }
            },
            lover = {
                receiveFlower:function (flower) {
                    alert('thank you very mush '+flower)
                },
                listenerGoodMood:function(flower){
                    setTimeout(this.receiveFlower(flower),3000);
                }
            };
        handsome.sendFlower(agent);
    };
    var modeProxyFun = function () {

    };
    modeProxyFun.prototype.init = function (config) {
        this.button = $(config.id);
        _initEvent(this, config);
    };

    return modeProxyFun;
})();
$(function () {
    new modeProxy().init({id: '#btn-send'});
});